package org.weso.desempleo.to;



import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

@XmlRootElement(name = "municipalityStatsTO")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MunicipalityStatstTO", propOrder = {
    "label", "dataset", "municipality", "province", 
    "poblacion", "area", "type", /*"julio2010", "julio2011",
    "agosto2010", "agosto2011",*/ "septiembre2010", "septiembre2011"
})
public class MunicipalityStatsTO {
	
	String municipality;
	String province;
	double poblacion;
	String label;
	String dataset;
	double area;
	String type;
	/*int [] julio2010;
	int [] julio2011;
	int [] agosto2010;
	int [] agosto2011;*/
	int [] septiembre2010;
	int [] septiembre2011;

	public String getMunicipality() {
		return municipality;
	}
	
	public void setMunicipality(String municipality) {
		this.municipality = municipality;
	}

	public String getProvince() {
		return province;
	}
	
	public void setProvince(String province) {
		this.province = province;
	}
	
	public double getPoblacion() {
		return poblacion;
	}
	
	public void setPoblacion(double poblacion) {
		this.poblacion = poblacion;
	}
	
	public String getLabel() {
		return label;
	}
	
	public void setLabel(String label) {
		this.label = label;
	}
	
	public String getDataset() {
		return dataset;
	}
	
	public void setDataset(String dataset) {
		this.dataset = dataset;
	}
	
	public double getArea() {
		return area;
	}

	public void setArea(double area) {
		this.area = area;
	}

	public MunicipalityStatsTO() {
		/*julio2010 = new int[3]; 
		julio2011 = new int[3]; 
		agosto2010 = new int[3]; 
		agosto2011 = new int[3];*/ 
		septiembre2010 = new int[3];
		septiembre2011 = new int [3];
		type = "Municipality";
	}

	public MunicipalityStatsTO(String municipality, String province,
			double poblacion, String label, String dataset, double area) {
		this.municipality = municipality;
		this.province = province;
		this.poblacion = poblacion;
		this.label = label;
		this.dataset = dataset;
		this.area = area;
		/*julio2010 = new int[3]; 
		julio2011 = new int[3]; 
		agosto2010 = new int[3]; 
		agosto2011 = new int[3]; */
		septiembre2010 = new int[3];
		septiembre2011 = new int [3];
		type = "Municipality";
	}

	public void addUnemployment(int unemployment, String period, String age) {
		int [] periodo = findPeriod(period);
		if(periodo != null) {
			if(age.equals("Menor de 25") || age.equals("Less than 25")) {
				periodo[0] += unemployment;
			} else if(age.equals("Entre 25 y 45") || age.equals("Between 25 and 45")) {
				periodo[1] += unemployment;
			} else if(age.equals("45 años o mas") || age.equals("45 years or more")) {
				periodo[2] += unemployment;
			}
		}
	}
	
	/*public int[] getJulio2010() {
		return julio2010;
	}

	public void setJulio2010(int[] julio2010) {
		this.julio2010 = julio2010;
	}

	public int[] getJulio2011() {
		return julio2011;
	}

	public void setJulio2011(int[] julio2011) {
		this.julio2011 = julio2011;
	}

	public int[] getAgosto2010() {
		return agosto2010;
	}

	public void setAgosto2010(int[] agosto2010) {
		this.agosto2010 = agosto2010;
	}

	public int[] getAgosto2011() {
		return agosto2011;
	}

	public void setAgosto2011(int[] agosto2011) {
		this.agosto2011 = agosto2011;
	}

	public int[] getSeptiembre2010() {
		return septiembre2010;
	}

	public void setSeptiembre2010(int[] septiembre2010) {
		this.septiembre2010 = septiembre2010;
	}*/

	public int[] getSeptiembre2011() {
		return septiembre2011;
	}

	public void setSeptiembre2011(int[] septiembre2011) {
		this.septiembre2011 = septiembre2011;
	}

	private int [] findPeriod(String period) {
		 if (period.equals("09-2010")) {
			return septiembre2010;
		} else if (period.equals("09-2011")) {
			return septiembre2011;
		}
		return null;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}	
}
